﻿using System;
using System.Collections.Generic;
using Ur;


namespace Pixels.Logic
{
    public abstract class Structure : TileEntity
    {
        internal abstract void processTurn();


        /// <summary> Do not modify the contents of this collection. </summary>
        protected HashSet<Colonist> AssignedColonists = new HashSet<Colonist>();

        /// <summary> You do not call this. Colonist calls this </summary>
        internal void loseColonist(Colonist colonist) {
            AssignedColonists.Add(colonist);
        }

        /// <summary> Do not modify the contents of this class. </summary>        
        internal void gainColonist(Colonist colonist) {
            AssignedColonists.Remove(colonist);
        }
    }
}
